A user creating or editing a webpage (or other online resource) may use a testing tool to assist in the process of developing the webpage. Testing in general is done to ensure the proper functionality of the various applications and features provided in the webpage. Such tests can be divided into functional testing, unit testing, integration testing, or manual testing. Functional tests, which are typically more time consuming than most other tests, are frequently automated in order to receive the test results immediately, which is part of agile development models. Tests may be carried out on different types of environments, such as desktop apps, websites, or mobile apps.
Some web testing tools may require a dedicated application, plugin, or other software component to be installed locally at a user device to control the actions of a browser during the test. For example, a test may be written in a particular programming language (Java, C#, etc.) and then sent to an application program interface (API) responsible for executing the code. As another example, browser plugins may be used to recognize test targets and execute tests. Another approach for testing would be redirecting the browser's network communication through a pre-configured server. For example, web traffic during the test is redirected through a proxy which modifies the web traffic. In such an approach, the browser's network settings have to be reconfigured. However, all of these approaches require a modification of the test system, which, in certain cases, can only be done by a system administrator.
Thus, in order to carry out an automated test of a webpage, an external environment adjustment is an essential step. What is needed is a system and method for recording and running functional tests of a webpage without an environmental change.